#ifndef NETPOINTPROTOCOL_H
#define NETPOINTPROTOCOL_H

#include <QObject>
#include <QStringList>
#include "Protocol/BaseProtocol.h"
#include "DataType/DataType.h"

class NetPointProtocol : public BaseProtocol
{
    Q_OBJECT
public:
    explicit NetPointProtocol(QObject *parent = 0);
    QList<Package> parseData(QByteArray data);
    QByteArray generateData(Package package);
    QByteArray generateAuthorizeData(quint16 roomNum,quint8 floor,QString brand);

    QByteArray generateAuthorizeData(quint16 roomNum,quint16 floor,quint8 doorDir,quint8 floorDir,QString brand);
    QByteArray generateToFirstData(quint8 floorNum);
    QByteArray generateQueryData();
    QByteArray generateUPDOWMData(quint16 roomNum,int stata,QString brand);
    QByteArray generateUPDOWMData(quint16 floor,quint8 sourceDir,quint8 desDir,QString brand);
    enum FunctionCode
    {
        ControlPoint,
        Elevatorauthorization,
        CallLiftToFirst,
        ElevatorStatusQuery,
        ElevatorUP,
        ElevatorDown,
        ElevatorData=0x91
    };

};

#endif // NETPOINTPROTOCOL_H
